Modern data networks carry different types of services, e.g., voice, video, streaming music, web pages, email, etc. Different types of mechanisms exist to provide quality of service (QoS) for traffic management of packets carrying data for different services. In the field of computer networking, quality of service is an ability to provide different priorities to different applications, users, or data flows. In some instances, requirements of some applications or users can be more critical than others, thus requiring preferential treatment for certain traffic. Differentiated services specify a mechanism for classifying and managing network traffic and providing quality of service on modern data networks. For example, differentiated services can be used to provide low-latency to critical network traffic such as voice or streaming media while providing simple best-effort service to non-critical services such as web traffic or file transfers.
Multiprotocol label switching (MPLS) protocol is used to provide QoS by defining label switched paths (LSPs) that can support specific service level agreements (SLAs) between service providers and customers. Generally, MPLS protocol uses short labels, instead of network addresses, to direct packets from one network node to another network node through an MPLS tunnel. Various deployment models, e.g., uniform model, pipe model or short-pipe model, can allow implementation of differentiated services through the MPLS tunnel. Generally, a network switch can only support one of the deployment models in order to implement the desired QoS in a network. Once a switch that supports a particular deployment model is deployed in the field, any changes in the QoS for the customer's next business model may not be supported by the switch without changing the switch or the hardware. Thus, the customers may be limited to using specific type of switches for specific deployment models.